﻿#region Opis pliku
//-----------------------------------------------------------------------------
// Map.cs
// Autor: Jan Czarnowski
// 6.11.2012
//-----------------------------------------------------------------------------
#endregion

#region Using...

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using System.Collections.Generic;
using System;

#endregion

namespace pogra
{
    /// <summary>
    /// Klasa reprezentująca mapę, na której toczy się rozgrywka.
    /// </summary>
    class Map
    {
        #region pola

        Texture2D textura;
        Tile[][] mapArray;
        LinkedList<MapObject> objList;
        Rectangle map = new Rectangle(-500, -500, 3000, 2000);

        public Rectangle Bounds
        {
            get { return map; }
        }

        #endregion

        #region inicjalizacja

        public Map()
        {
            objList = new LinkedList<MapObject>();
        }

        #endregion

        #region metody draw i update

        public void Draw(ExtendedSpriteBatch exSpriteBatch)
        {

            for (int i = map.X; i < map.Width + map.X; i += textura.Width)
                for (int j = map.Y; j < map.Height + map.Y; j += textura.Height)
                    exSpriteBatch.Draw(textura, new Vector2(i,j),null,Color.White,0f,Vector2.Zero,1f,SpriteEffects.None,1);
                  
            // rysowanie kafelków
            // rysowanie obiektów
        }

        public void Update(GameTime gameTime)
        {

        }

        #endregion

        #region metody publiczne

        internal void Load(string p, Texture2D maptexture)
        {
            textura = maptexture;
            // otworzenie pliku
            // wczytanie kafelków
            // wczytanie obiektów
            // XML? Tiled?
        }

        #endregion

    }
}
